<?php

namespace App\Http\Controllers\Admin;

use App\Models\GoodsType;
use App\Models\Spec;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

/**
 * 类型控制器
 * @package App\Http\Controllers\Admin
 */
class GoodsTypeController extends Controller
{
	/**
	 * 类型列表
	 * User: Clannad ~ ☆
	 * DataTime：2019/11/15 12:24
	 */
	public function index()
    {
		$goodsTypeList = GoodsType::query()
				->orderBy('id','desc')
				->paginate(10);

		return view('admin.goods_type.index',compact('goodsTypeList'));
    }


	public function create()
    {
    	//类型有属于分类，所以，要有个分类
		return view('admin.goods_type.create');
    }


	public function store(Request $request, GoodsType $GoodsType)
	{
		$insertData = $request->except(['_token']);

		$GoodsType->fill($insertData);
		$GoodsType->save();

		return redirect()->route('admin.goods_type.index')->with('success','添加类型成功');
    }


	public function edit(Request $request,$id)
	{
		$goods_type = GoodsType::findOrfail($id);

		//这里是需要取出分类

		return view('admin.goods_type.edit',compact('goods_type'));
    }


	public function update(Request $request,$id)
	{
		$GoodsType = GoodsType::findOrFail($id);

		$insertData = $request->except(['_token']);

		$GoodsType->fill($insertData);
		$GoodsType->update();

		return redirect()->route('admin.goods_type.index')->with('success','修改类型成功');
    }


	public function destroy($id)
    {
    	$type = GoodsType::findOrfail($id);
		//销毁类型的时候，要判断有没有规格在用，在用的不可删除。
		$spec = Spec::query()->where('type_id',$id)->count();
		if($spec){
		    return back()->with('danger','该商品类型有商品规格在使用，请先删除在用的规格');
		}

		$type->delete();

		return redirect()->route('admin.goods_type.index')->with('success','删除成功');
    }

}
